function aa(){
  return new Promise((resolve,reject)=>{
    console.log("进入aa，等待3秒钟")
    setTimeout(function(){
      console.log("等待结束")
      resolve()
    },3000)
  })
}

function bb(){
  return new Promise((resolve,reject)=>{
    console.log("进入bb，等待3秒钟")
    setTimeout(function(){
      console.log("bb等待结束")
      resolve()
    },3000)
  })
}

function cc(){
  return new Promise((resolve,reject)=>{
    console.log("进入cc，等待3秒钟")
    setTimeout(function(){
      console.log("cc等待结束")
      resolve()
    },3000)
  })
}

aa().then(res=>{
  return aa(res)
}).then(res=>{
  return aa(res)
}).catch(err=>{
  console.log("err:"+err)
})

Promise.all([aa(),bb(),cc()])
.then(res=>console.log(res))
.catch(e=>console.log(e))